<script charset="utf-8">


    class Person {
        constructor( n,a,s,h,j) {
            this.name=n;
            this.age=a;
            this.sex=s;
            this.hobby=h;
            this.job=j;
        }
        say(){
            console.log(`我是${this.name},我今年${this.age}岁，我是${this.sex}生，我的爱好是：${this.hobby},我是一个${this.job}`);
        }
        static type="人"
        static run(){
            console.log("我是一个不爱运动的人");
        }
    }


    class  Student  extends Person{ 

        constructor(n,a,s,h,j,n1){
            super(n,a,s,h,j) 

            this.name=n1 //属性华为父类的重复了，会覆盖

        }
        eat(){
            console.log("我爱吃零食");
        }

        static type="学生"  // 同名会覆盖


        say(){
            //方法同名也会覆盖，但是可以使用super对象来调用父类的方法
            super.say()

            console.log("我是一个小学生"); 
        }

        static  run(){
            super.run()
            console.log("每天800米");
        }
     }


    let s=new  Student("小明",8,"男",'写作业',"学生","李华")
    console.log(s);
    console.log(s.name);
    s.say()


    console.log(Student.type);
    Student.run()











</script>